Program code (a computer program or application) may be described as a set of instructions executed by a computing device. Breakpoints may be inserted into the program code. When execution of the program code reaches a breakpoint, the execution is paused to allow the state of execution (e.g., memory, registers, etc.) to be saved and/or reviewed for debugging the program code.
Stepping through program code and using breakpoints for the purposes of debugging code is common practice. When a user is manually stepping through program code (i.e., manually clicking “step by step” to execute the code step by step), it may be annoying to try to step over a function, only to get caught in a breakpoint nested in that function, or functions nested farther down.
Conventional systems have the notion of using predefined ranks to only hit breakpoints over a certain rank threshold. Some conventional systems provide ranked break points for debugging program code by running the program code until a certain instruction and choosing whether to skip breakpoints according to their predefined ranks.